﻿/*
=============================================================================
Author:魏宝辉通过CodeSmithe生成
CreatedTime:2012-10-21
Description:UserList.aspx.cs页面代码
=============================================================================	
*/

using System;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using ExtAspNet;
using FTchina.Logic;
using FTchina.Library;
using FTchina.Models;
public partial class UserListaction : System.Web.UI.Page
{



    protected void Page_Load(object sender, EventArgs e)
    {
        FTchina.basic.CheckAdmin(this);
        FTchina.basic.ChkPoewr(this, FTchina.Api.htmlpath.GetCurrentPagePath().Replace("action", ""));
        if (!IsPostBack)
        {
            LoadData();
            BindDropDownList();
            string id = RequestHelper.SafeRequest(Request["id"]);
            if (id.Length > 0)
            {
                ShowModData(id);
            }
        }

    }

    /// <summary>
    /// 绑定级别的下拉列表
    /// </summary>
    private void BindDropDownList()
    {
        ControlBindHelper.DropDownListTypeofUserList(DDLParentId);
        DDLParentId.Items.Add(new ExtAspNet.ListItem("根项", "RootItem"));
        DDLParentId.SelectedIndex = DDLParentId.Items.Count - 1;
    }
    private void LoadData()
    {

        // 关闭按钮的客户端脚本：
        // 1. 首先确认窗体中表单是否被修改（如果已经被修改，则弹出是否关闭的确认对话框）
        // 2. 然后关闭本窗体，回发父窗体
        btnClose.OnClientClick = ActiveWindow.GetConfirmHidePostBackReference();

    }
    private void ShowModData(string ItemID)
    {
        FTchina.Models.UserList mUserList = FTchina.BLL.UserListManager.GetUserListById(Convert.ToInt32(ItemID));
        if (mUserList != null)
        {
            txbid.Text = mUserList.Id.ToString();

            txbconText.Text = mUserList.ConText.ToString();


            txbpaixu.Text = mUserList.Paixu.ToString();
            if (UserListLogic.IsRootItem(ItemID))
            {
                DDLParentId.SelectedValue = "RootItem";
            }
            else
            {
                DDLParentId.SelectedValue = mUserList.ParentID.ToString();
            }
        }
        else
        {
            AlertLogic.ShowResultAndRedirect("无数据！", "提示", HttpContext.Current.Request.Path.ToString(), false);
        }
    }
    protected void btnSaveContinue_Click(object sender, EventArgs e)
    {

        if (txbid.Text == DDLParentId.SelectedValue)
        {
            AlertLogic.ShowError("不能将自身作为父级菜单，请重新选择");
            return;
        }
        bool AddNew = RequestHelper.SafeRequest(Request["id"]).Length == 0 ? true : false;//设置是否新增
        if (DDLParentId.SelectedValue == "RootItem")
        {//根菜单类型
            if (AddNew)
            {//新增项目
                FTchina.Models.UserList ul = new FTchina.Models.UserList();
                ul.ConText = this.txbconText.Text.Trim();
                ul.TreeLevel = "1";
                AlertLogic.ShowResult(FTchina.BLL.UserListManager.AddOrUpdateUserList(ul) > 0);

            }
            else
            {
                FTchina.Models.UserList ul = new FTchina.Models.UserList();
                ul.ConText = this.txbconText.Text.Trim();
                ul.Id = Convert.ToInt32(this.txbid.Text.Trim());
                ul.Paixu = Convert.ToDecimal(this.txbpaixu.Text.Trim());

                AlertLogic.ShowResult(FTchina.BLL.UserListManager.AddOrUpdateUserList(ul) > 0);


            }
        }
        else
        {//普通菜单

            FTchina.Models.UserList mUserList = new FTchina.Models.UserList();

            mUserList.Id = txbid.Text.Trim() == "" ? 0 : Convert.ToInt32(txbid.Text);

            mUserList.ParentID = Convert.ToInt32(this.DDLParentId.SelectedValue);
            mUserList.ConText = txbconText.Text.Trim();
            mUserList.Paixu = Convert.ToDecimal(txbpaixu.Text.Trim());
            int x = 2;
            UserListLogic.getTreeLevel(mUserList.ParentID.ToString(), ref x);
            mUserList.TreeLevel = x.ToString();

            AlertLogic.ShowResult(FTchina.BLL.UserListManager.AddOrUpdateUserList(mUserList) > 0);



        }
        if (!AddNew)
        {//修改已有项目
            //重新计算所有IDs的treeLevel
            UserListLogic.setReferMenuIdsTreeLevel(txbid.Text.Trim());
        }

        // 1. 这里放置保存窗体中数据的逻辑


        // 2. 关闭本窗体，然后回发父窗体
        PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
    }
    //protected void btnSaveRefresh_Click(object sender, EventArgs e)
    //{
    //    // 1. 这里放置保存窗体中数据的逻辑

    //    // 2. 关闭本窗体，然后刷新父窗体
    //    PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
    //}






}






